<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>PxMat33 Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="PhysXLogoBlack.png"/></td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classPxMat33.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="classPxMat33-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">PxMat33 Class Reference<div class="ingroups"><a class="el" href="group__foundation.html">Foundation</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>3x3 matrix class  
 <a href="classPxMat33.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="PxMat33_8h_source.html">PxMat33.h</a>&gt;</code></p>
<div class="dynheader">
Collaboration diagram for PxMat33:</div>
<div class="dyncontent">
<div class="center"><img src="classPxMat33__coll__graph.png" border="0" usemap="#PxMat33_coll__map" alt="Collaboration graph"/></div>
<map name="PxMat33_coll__map" id="PxMat33_coll__map">
<area shape="rect" id="node2" href="classPxVec3.html" title="3 Element vector class. " alt="" coords="9,5,77,32"/>
</map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a20e5403af0f03ef612f64af16ddee6ce"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#ga6a774eed3cad34b0f636332a3d28c6bb">PX_FORCE_INLINE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMat33.html#a20e5403af0f03ef612f64af16ddee6ce">PxMat33</a> ()</td></tr>
<tr class="memdesc:a20e5403af0f03ef612f64af16ddee6ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor.  <a href="#a20e5403af0f03ef612f64af16ddee6ce">More...</a><br /></td></tr>
<tr class="separator:a20e5403af0f03ef612f64af16ddee6ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfcaf1c5e22009651cd588a4d4944bb7"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMat33.html#adfcaf1c5e22009651cd588a4d4944bb7">PxMat33</a> (<a class="el" href="group__foundation.html#ga70160ca5bbafef277790b3e0f12baf38">PxIDENTITY</a> r)</td></tr>
<tr class="memdesc:adfcaf1c5e22009651cd588a4d4944bb7"><td class="mdescLeft">&#160;</td><td class="mdescRight">identity constructor  <a href="#adfcaf1c5e22009651cd588a4d4944bb7">More...</a><br /></td></tr>
<tr class="separator:adfcaf1c5e22009651cd588a4d4944bb7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab670e3f9978de23e3765680bcf90aefb"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMat33.html#ab670e3f9978de23e3765680bcf90aefb">PxMat33</a> (<a class="el" href="group__foundation.html#gac10bd69c94c165a52f6de39678ef9d4c">PxZERO</a> r)</td></tr>
<tr class="memdesc:ab670e3f9978de23e3765680bcf90aefb"><td class="mdescLeft">&#160;</td><td class="mdescRight">zero constructor  <a href="#ab670e3f9978de23e3765680bcf90aefb">More...</a><br /></td></tr>
<tr class="separator:ab670e3f9978de23e3765680bcf90aefb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3264dcb23397993b4a861b9e4ddf55ff"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMat33.html#a3264dcb23397993b4a861b9e4ddf55ff">PxMat33</a> (const <a class="el" href="classPxVec3.html">PxVec3</a> &amp;col0, const <a class="el" href="classPxVec3.html">PxVec3</a> &amp;col1, const <a class="el" href="classPxVec3.html">PxVec3</a> &amp;col2)</td></tr>
<tr class="memdesc:a3264dcb23397993b4a861b9e4ddf55ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct from three base vectors.  <a href="#a3264dcb23397993b4a861b9e4ddf55ff">More...</a><br /></td></tr>
<tr class="separator:a3264dcb23397993b4a861b9e4ddf55ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92525fe88727f40493acfd0857680fc4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMat33.html#a92525fe88727f40493acfd0857680fc4">PxMat33</a> (float r)</td></tr>
<tr class="memdesc:a92525fe88727f40493acfd0857680fc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">constructor from a scalar, which generates a multiple of the identity matrix  <a href="#a92525fe88727f40493acfd0857680fc4">More...</a><br /></td></tr>
<tr class="separator:a92525fe88727f40493acfd0857680fc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73231a8d10a61fe85c6a3b2fab81a7f1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMat33.html#a73231a8d10a61fe85c6a3b2fab81a7f1">PxMat33</a> (float values[])</td></tr>
<tr class="memdesc:a73231a8d10a61fe85c6a3b2fab81a7f1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct from float[9].  <a href="#a73231a8d10a61fe85c6a3b2fab81a7f1">More...</a><br /></td></tr>
<tr class="separator:a73231a8d10a61fe85c6a3b2fab81a7f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62d174ae93bfe40e6637423b37a7be3f"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#ga6a774eed3cad34b0f636332a3d28c6bb">PX_FORCE_INLINE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMat33.html#a62d174ae93bfe40e6637423b37a7be3f">PxMat33</a> (const <a class="el" href="classPxQuat.html">PxQuat</a> &amp;q)</td></tr>
<tr class="memdesc:a62d174ae93bfe40e6637423b37a7be3f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct from a quaternion.  <a href="#a62d174ae93bfe40e6637423b37a7be3f">More...</a><br /></td></tr>
<tr class="separator:a62d174ae93bfe40e6637423b37a7be3f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb87a7690460b3cbaa8823a1a4a96531"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMat33.html#afb87a7690460b3cbaa8823a1a4a96531">PxMat33</a> (const <a class="el" href="classPxMat33.html">PxMat33</a> &amp;other)</td></tr>
<tr class="memdesc:afb87a7690460b3cbaa8823a1a4a96531"><td class="mdescLeft">&#160;</td><td class="mdescRight">Copy constructor.  <a href="#afb87a7690460b3cbaa8823a1a4a96531">More...</a><br /></td></tr>
<tr class="separator:afb87a7690460b3cbaa8823a1a4a96531"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adcd8ef696b2539be02bc61bcd61dcbc4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#ga6a774eed3cad34b0f636332a3d28c6bb">PX_FORCE_INLINE</a> <a class="el" href="classPxMat33.html">PxMat33</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMat33.html#adcd8ef696b2539be02bc61bcd61dcbc4">operator=</a> (const <a class="el" href="classPxMat33.html">PxMat33</a> &amp;other)</td></tr>
<tr class="memdesc:adcd8ef696b2539be02bc61bcd61dcbc4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assignment operator.  <a href="#adcd8ef696b2539be02bc61bcd61dcbc4">More...</a><br /></td></tr>
<tr class="separator:adcd8ef696b2539be02bc61bcd61dcbc4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad47c6285fd4def5a37357860da24a527"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMat33.html#ad47c6285fd4def5a37357860da24a527">operator==</a> (const <a class="el" href="classPxMat33.html">PxMat33</a> &amp;m) const</td></tr>
<tr class="memdesc:ad47c6285fd4def5a37357860da24a527"><td class="mdescLeft">&#160;</td><td class="mdescRight">returns true if the two matrices are exactly equal  <a href="#ad47c6285fd4def5a37357860da24a527">More...</a><br /></td></tr>
<tr class="separator:ad47c6285fd4def5a37357860da24a527"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a03af319e25574c59fb66ceb675bb6b56"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#ga6a774eed3cad34b0f636332a3d28c6bb">PX_FORCE_INLINE</a> const <a class="el" href="classPxMat33.html">PxMat33</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMat33.html#a03af319e25574c59fb66ceb675bb6b56">getTranspose</a> () const</td></tr>
<tr class="memdesc:a03af319e25574c59fb66ceb675bb6b56"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get transposed matrix.  <a href="#a03af319e25574c59fb66ceb675bb6b56">More...</a><br /></td></tr>
<tr class="separator:a03af319e25574c59fb66ceb675bb6b56"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:addd74be09c04dbb9aa61c06d1375095c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> const <a class="el" href="classPxMat33.html">PxMat33</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMat33.html#addd74be09c04dbb9aa61c06d1375095c">getInverse</a> () const</td></tr>
<tr class="memdesc:addd74be09c04dbb9aa61c06d1375095c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the real inverse.  <a href="#addd74be09c04dbb9aa61c06d1375095c">More...</a><br /></td></tr>
<tr class="separator:addd74be09c04dbb9aa61c06d1375095c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5f6804fd9e722cbc9fa8331fb9a1d14e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMat33.html#a5f6804fd9e722cbc9fa8331fb9a1d14e">getDeterminant</a> () const</td></tr>
<tr class="memdesc:a5f6804fd9e722cbc9fa8331fb9a1d14e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get determinant.  <a href="#a5f6804fd9e722cbc9fa8331fb9a1d14e">More...</a><br /></td></tr>
<tr class="separator:a5f6804fd9e722cbc9fa8331fb9a1d14e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a87b1ad9c4c720bc32ef0a38a80d7ec99"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> const <a class="el" href="classPxMat33.html">PxMat33</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMat33.html#a87b1ad9c4c720bc32ef0a38a80d7ec99">operator-</a> () const</td></tr>
<tr class="memdesc:a87b1ad9c4c720bc32ef0a38a80d7ec99"><td class="mdescLeft">&#160;</td><td class="mdescRight">Unary minus.  <a href="#a87b1ad9c4c720bc32ef0a38a80d7ec99">More...</a><br /></td></tr>
<tr class="separator:a87b1ad9c4c720bc32ef0a38a80d7ec99"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a371d52572ecf2270d68ba99855df91d3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> const <a class="el" href="classPxMat33.html">PxMat33</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMat33.html#a371d52572ecf2270d68ba99855df91d3">operator+</a> (const <a class="el" href="classPxMat33.html">PxMat33</a> &amp;other) const</td></tr>
<tr class="memdesc:a371d52572ecf2270d68ba99855df91d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add.  <a href="#a371d52572ecf2270d68ba99855df91d3">More...</a><br /></td></tr>
<tr class="separator:a371d52572ecf2270d68ba99855df91d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac96136483b5132db60802185229ba896"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> const <a class="el" href="classPxMat33.html">PxMat33</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMat33.html#ac96136483b5132db60802185229ba896">operator-</a> (const <a class="el" href="classPxMat33.html">PxMat33</a> &amp;other) const</td></tr>
<tr class="memdesc:ac96136483b5132db60802185229ba896"><td class="mdescLeft">&#160;</td><td class="mdescRight">Subtract.  <a href="#ac96136483b5132db60802185229ba896">More...</a><br /></td></tr>
<tr class="separator:ac96136483b5132db60802185229ba896"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a29c09eed39be9a28bf777176a787fe8c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> const <a class="el" href="classPxMat33.html">PxMat33</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMat33.html#a29c09eed39be9a28bf777176a787fe8c">operator*</a> (float scalar) const</td></tr>
<tr class="memdesc:a29c09eed39be9a28bf777176a787fe8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scalar multiplication.  <a href="#a29c09eed39be9a28bf777176a787fe8c">More...</a><br /></td></tr>
<tr class="separator:a29c09eed39be9a28bf777176a787fe8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae97b153beee740e225e68f22421f0de2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> const <a class="el" href="classPxVec3.html">PxVec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMat33.html#ae97b153beee740e225e68f22421f0de2">operator*</a> (const <a class="el" href="classPxVec3.html">PxVec3</a> &amp;vec) const</td></tr>
<tr class="memdesc:ae97b153beee740e225e68f22421f0de2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Matrix vector multiplication (returns 'this-&gt;transform(vec)')  <a href="#ae97b153beee740e225e68f22421f0de2">More...</a><br /></td></tr>
<tr class="separator:ae97b153beee740e225e68f22421f0de2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae8877f2bc3ecb769a4d46bf4d2188ad2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#ga6a774eed3cad34b0f636332a3d28c6bb">PX_FORCE_INLINE</a> const <a class="el" href="classPxMat33.html">PxMat33</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMat33.html#ae8877f2bc3ecb769a4d46bf4d2188ad2">operator*</a> (const <a class="el" href="classPxMat33.html">PxMat33</a> &amp;other) const</td></tr>
<tr class="memdesc:ae8877f2bc3ecb769a4d46bf4d2188ad2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Matrix multiplication.  <a href="#ae8877f2bc3ecb769a4d46bf4d2188ad2">More...</a><br /></td></tr>
<tr class="separator:ae8877f2bc3ecb769a4d46bf4d2188ad2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89aba25369f97b0e27eb759e74e7d02e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> <a class="el" href="classPxMat33.html">PxMat33</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMat33.html#a89aba25369f97b0e27eb759e74e7d02e">operator+=</a> (const <a class="el" href="classPxMat33.html">PxMat33</a> &amp;other)</td></tr>
<tr class="memdesc:a89aba25369f97b0e27eb759e74e7d02e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Equals-add.  <a href="#a89aba25369f97b0e27eb759e74e7d02e">More...</a><br /></td></tr>
<tr class="separator:a89aba25369f97b0e27eb759e74e7d02e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac22851412f41cb0e3522eb3d18cc5ee"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> <a class="el" href="classPxMat33.html">PxMat33</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMat33.html#aac22851412f41cb0e3522eb3d18cc5ee">operator-=</a> (const <a class="el" href="classPxMat33.html">PxMat33</a> &amp;other)</td></tr>
<tr class="memdesc:aac22851412f41cb0e3522eb3d18cc5ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Equals-sub.  <a href="#aac22851412f41cb0e3522eb3d18cc5ee">More...</a><br /></td></tr>
<tr class="separator:aac22851412f41cb0e3522eb3d18cc5ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad1e0061d404caf3c1da715b17fca97e4"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> <a class="el" href="classPxMat33.html">PxMat33</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMat33.html#ad1e0061d404caf3c1da715b17fca97e4">operator*=</a> (float scalar)</td></tr>
<tr class="memdesc:ad1e0061d404caf3c1da715b17fca97e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Equals scalar multiplication.  <a href="#ad1e0061d404caf3c1da715b17fca97e4">More...</a><br /></td></tr>
<tr class="separator:ad1e0061d404caf3c1da715b17fca97e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6366803e747d534cf0c920658d86ff94"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> <a class="el" href="classPxMat33.html">PxMat33</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMat33.html#a6366803e747d534cf0c920658d86ff94">operator*=</a> (const <a class="el" href="classPxMat33.html">PxMat33</a> &amp;other)</td></tr>
<tr class="memdesc:a6366803e747d534cf0c920658d86ff94"><td class="mdescLeft">&#160;</td><td class="mdescRight">Equals matrix multiplication.  <a href="#a6366803e747d534cf0c920658d86ff94">More...</a><br /></td></tr>
<tr class="separator:a6366803e747d534cf0c920658d86ff94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aafa4b544d2deda8528fbe0c58598ce57"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#ga6a774eed3cad34b0f636332a3d28c6bb">PX_FORCE_INLINE</a> float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMat33.html#aafa4b544d2deda8528fbe0c58598ce57">operator()</a> (unsigned int row, unsigned int col) const</td></tr>
<tr class="memdesc:aafa4b544d2deda8528fbe0c58598ce57"><td class="mdescLeft">&#160;</td><td class="mdescRight">Element access, mathematical way!  <a href="#aafa4b544d2deda8528fbe0c58598ce57">More...</a><br /></td></tr>
<tr class="separator:aafa4b544d2deda8528fbe0c58598ce57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae46d777d10932b21600bd7bcc46fe52d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#ga6a774eed3cad34b0f636332a3d28c6bb">PX_FORCE_INLINE</a> float &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMat33.html#ae46d777d10932b21600bd7bcc46fe52d">operator()</a> (unsigned int row, unsigned int col)</td></tr>
<tr class="memdesc:ae46d777d10932b21600bd7bcc46fe52d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Element access, mathematical way!  <a href="#ae46d777d10932b21600bd7bcc46fe52d">More...</a><br /></td></tr>
<tr class="separator:ae46d777d10932b21600bd7bcc46fe52d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae23ed8a7db210c4dea52a3c3e6dab54c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#ga6a774eed3cad34b0f636332a3d28c6bb">PX_FORCE_INLINE</a> const <a class="el" href="classPxVec3.html">PxVec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMat33.html#ae23ed8a7db210c4dea52a3c3e6dab54c">transform</a> (const <a class="el" href="classPxVec3.html">PxVec3</a> &amp;other) const</td></tr>
<tr class="memdesc:ae23ed8a7db210c4dea52a3c3e6dab54c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transform vector by matrix, equal to v' = M*v.  <a href="#ae23ed8a7db210c4dea52a3c3e6dab54c">More...</a><br /></td></tr>
<tr class="separator:ae23ed8a7db210c4dea52a3c3e6dab54c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4810e659e09fd19492255cd682c47b41"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> const <a class="el" href="classPxVec3.html">PxVec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMat33.html#a4810e659e09fd19492255cd682c47b41">transformTranspose</a> (const <a class="el" href="classPxVec3.html">PxVec3</a> &amp;other) const</td></tr>
<tr class="memdesc:a4810e659e09fd19492255cd682c47b41"><td class="mdescLeft">&#160;</td><td class="mdescRight">Transform vector by matrix transpose, v' = M^t*v.  <a href="#a4810e659e09fd19492255cd682c47b41">More...</a><br /></td></tr>
<tr class="separator:a4810e659e09fd19492255cd682c47b41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a77de4d49bcc24e45c9d2438a1c06bd7d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#ga6a774eed3cad34b0f636332a3d28c6bb">PX_FORCE_INLINE</a> const float *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMat33.html#a77de4d49bcc24e45c9d2438a1c06bd7d">front</a> () const</td></tr>
<tr class="separator:a77de4d49bcc24e45c9d2438a1c06bd7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6cd77ef783962a8ea75ad737b97f1e03"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#ga6a774eed3cad34b0f636332a3d28c6bb">PX_FORCE_INLINE</a> <a class="el" href="classPxVec3.html">PxVec3</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMat33.html#a6cd77ef783962a8ea75ad737b97f1e03">operator[]</a> (unsigned int num)</td></tr>
<tr class="separator:a6cd77ef783962a8ea75ad737b97f1e03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad84d95b55ee2f62c27058e44c4b074f5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#ga6a774eed3cad34b0f636332a3d28c6bb">PX_FORCE_INLINE</a> const <a class="el" href="classPxVec3.html">PxVec3</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMat33.html#ad84d95b55ee2f62c27058e44c4b074f5">operator[]</a> (unsigned int num) const</td></tr>
<tr class="separator:ad84d95b55ee2f62c27058e44c4b074f5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:ae7052afa072d3c45c1f570a6a794c6a5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> static <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> const <a class="el" href="classPxMat33.html">PxMat33</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMat33.html#ae7052afa072d3c45c1f570a6a794c6a5">createDiagonal</a> (const <a class="el" href="classPxVec3.html">PxVec3</a> &amp;d)</td></tr>
<tr class="memdesc:ae7052afa072d3c45c1f570a6a794c6a5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct from diagonal, off-diagonals are zero.  <a href="#ae7052afa072d3c45c1f570a6a794c6a5">More...</a><br /></td></tr>
<tr class="separator:ae7052afa072d3c45c1f570a6a794c6a5"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a89d12d4e50ffc5ef8e480bdd3dadb78a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classPxVec3.html">PxVec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMat33.html#a89d12d4e50ffc5ef8e480bdd3dadb78a">column0</a></td></tr>
<tr class="separator:a89d12d4e50ffc5ef8e480bdd3dadb78a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62f190479e12e7b9ec5cf831b23c95e9"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classPxVec3.html">PxVec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMat33.html#a62f190479e12e7b9ec5cf831b23c95e9">column1</a></td></tr>
<tr class="separator:a62f190479e12e7b9ec5cf831b23c95e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9af2a3d4f9cca979c3e46a6406de6957"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classPxVec3.html">PxVec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMat33.html#a9af2a3d4f9cca979c3e46a6406de6957">column2</a></td></tr>
<tr class="separator:a9af2a3d4f9cca979c3e46a6406de6957"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:ae7cb54ab21d0e3d0dc2974560a77e27a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classPxMat33.html">PxMat33</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxMat33.html#ae7cb54ab21d0e3d0dc2974560a77e27a">operator*</a> (float, const <a class="el" href="classPxMat33.html">PxMat33</a> &amp;)</td></tr>
<tr class="separator:ae7cb54ab21d0e3d0dc2974560a77e27a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>3x3 matrix class </p>
<p>Some clarifications, as there have been much confusion about matrix formats etc in the past.</p>
<p>Short:</p><ul>
<li>Matrix have base vectors in columns (vectors are column matrices, 3x1 matrices).</li>
<li>Matrix is physically stored in column major format</li>
<li>Matrices are concaternated from left</li>
</ul>
<p>Long: Given three base vectors a, b and c the matrix is stored as</p>
<p>|a.x b.x c.x| |a.y b.y c.y| |a.z b.z c.z|</p>
<p>Vectors are treated as columns, so the vector v is</p>
<p>|x| |y| |z|</p>
<p>And matrices are applied _before_ the vector (pre-multiplication) v' = M*v</p>
<p>|x'| |a.x b.x c.x| |x| |a.x*x + b.x*y + c.x*z| |y'| = |a.y b.y c.y| * |y| = |a.y*x + b.y*y + c.y*z| |z'| |a.z b.z c.z| |z| |a.z*x + b.z*y + c.z*z|</p>
<p>Physical storage and indexing: To be compatible with popular 3d rendering APIs (read D3d and OpenGL) the physical indexing is</p>
<p>|0 3 6| |1 4 7| |2 5 8|</p>
<p>index = column*3 + row</p>
<p>which in C++ translates to M[column][row]</p>
<p>The mathematical indexing is M_row,column and this is what is used for _-notation so _12 is 1st row, second column and operator(row, column)! </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a20e5403af0f03ef612f64af16ddee6ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a20e5403af0f03ef612f64af16ddee6ce">&#9670;&nbsp;</a></span>PxMat33() <span class="overload">[1/8]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#ga6a774eed3cad34b0f636332a3d28c6bb">PX_FORCE_INLINE</a> PxMat33::PxMat33 </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Default constructor. </p>

</div>
</div>
<a id="adfcaf1c5e22009651cd588a4d4944bb7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adfcaf1c5e22009651cd588a4d4944bb7">&#9670;&nbsp;</a></span>PxMat33() <span class="overload">[2/8]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> PxMat33::PxMat33 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__foundation.html#ga70160ca5bbafef277790b3e0f12baf38">PxIDENTITY</a>&#160;</td>
          <td class="paramname"><em>r</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>identity constructor </p>

<p class="reference">References <a class="el" href="group__foundation.html#ga9727af514012bc32f852e20278a7b04e">PX_UNUSED()</a>.</p>

</div>
</div>
<a id="ab670e3f9978de23e3765680bcf90aefb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab670e3f9978de23e3765680bcf90aefb">&#9670;&nbsp;</a></span>PxMat33() <span class="overload">[3/8]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> PxMat33::PxMat33 </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__foundation.html#gac10bd69c94c165a52f6de39678ef9d4c">PxZERO</a>&#160;</td>
          <td class="paramname"><em>r</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>zero constructor </p>

<p class="reference">References <a class="el" href="group__foundation.html#ga9727af514012bc32f852e20278a7b04e">PX_UNUSED()</a>.</p>

</div>
</div>
<a id="a3264dcb23397993b4a861b9e4ddf55ff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3264dcb23397993b4a861b9e4ddf55ff">&#9670;&nbsp;</a></span>PxMat33() <span class="overload">[4/8]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> PxMat33::PxMat33 </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classPxVec3.html">PxVec3</a> &amp;&#160;</td>
          <td class="paramname"><em>col0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classPxVec3.html">PxVec3</a> &amp;&#160;</td>
          <td class="paramname"><em>col1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classPxVec3.html">PxVec3</a> &amp;&#160;</td>
          <td class="paramname"><em>col2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Construct from three base vectors. </p>

</div>
</div>
<a id="a92525fe88727f40493acfd0857680fc4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a92525fe88727f40493acfd0857680fc4">&#9670;&nbsp;</a></span>PxMat33() <span class="overload">[5/8]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> PxMat33::PxMat33 </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>r</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>constructor from a scalar, which generates a multiple of the identity matrix </p>

</div>
</div>
<a id="a73231a8d10a61fe85c6a3b2fab81a7f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a73231a8d10a61fe85c6a3b2fab81a7f1">&#9670;&nbsp;</a></span>PxMat33() <span class="overload">[6/8]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> PxMat33::PxMat33 </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>values</em>[]</td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Construct from float[9]. </p>

</div>
</div>
<a id="a62d174ae93bfe40e6637423b37a7be3f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a62d174ae93bfe40e6637423b37a7be3f">&#9670;&nbsp;</a></span>PxMat33() <span class="overload">[7/8]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#ga6a774eed3cad34b0f636332a3d28c6bb">PX_FORCE_INLINE</a> PxMat33::PxMat33 </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classPxQuat.html">PxQuat</a> &amp;&#160;</td>
          <td class="paramname"><em>q</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Construct from a quaternion. </p>

<p class="reference">References <a class="el" href="classPxQuat.html#a84fb33d995ed4e6a26ac3f22523f0b54">PxQuat::w</a>, <a class="el" href="classPxQuat.html#ac7275be0f2d9162cff34b2d43f2ab179">PxQuat::x</a>, <a class="el" href="classPxQuat.html#a0988cef7bc3fbdcd8cf37974c5edd611">PxQuat::y</a>, and <a class="el" href="classPxQuat.html#a6773bfd82393a8dde22ddef5f0900d06">PxQuat::z</a>.</p>

</div>
</div>
<a id="afb87a7690460b3cbaa8823a1a4a96531"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afb87a7690460b3cbaa8823a1a4a96531">&#9670;&nbsp;</a></span>PxMat33() <span class="overload">[8/8]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> PxMat33::PxMat33 </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classPxMat33.html">PxMat33</a> &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Copy constructor. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ae7052afa072d3c45c1f570a6a794c6a5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae7052afa072d3c45c1f570a6a794c6a5">&#9670;&nbsp;</a></span>createDiagonal()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> static <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> const <a class="el" href="classPxMat33.html">PxMat33</a> PxMat33::createDiagonal </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classPxVec3.html">PxVec3</a> &amp;&#160;</td>
          <td class="paramname"><em>d</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Construct from diagonal, off-diagonals are zero. </p>

<p class="reference">References <a class="el" href="classPxVec3.html#a391194bca8291161c06254f4ac2b6ada">PxVec3::x</a>, <a class="el" href="classPxVec3.html#a29958700f50da2204edc519b47706a05">PxVec3::y</a>, and <a class="el" href="classPxVec3.html#a50d67b162b99b904c3f362ad0415dbca">PxVec3::z</a>.</p>

<p class="reference">Referenced by <a class="el" href="classPxMassProperties.html#acc8eadc90e93df0e25d4dfb63988a596">PxMassProperties::PxMassProperties()</a>.</p>

</div>
</div>
<a id="a77de4d49bcc24e45c9d2438a1c06bd7d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a77de4d49bcc24e45c9d2438a1c06bd7d">&#9670;&nbsp;</a></span>front()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#ga6a774eed3cad34b0f636332a3d28c6bb">PX_FORCE_INLINE</a> const float* PxMat33::front </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="a5f6804fd9e722cbc9fa8331fb9a1d14e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5f6804fd9e722cbc9fa8331fb9a1d14e">&#9670;&nbsp;</a></span>getDeterminant()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> float PxMat33::getDeterminant </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get determinant. </p>

</div>
</div>
<a id="addd74be09c04dbb9aa61c06d1375095c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#addd74be09c04dbb9aa61c06d1375095c">&#9670;&nbsp;</a></span>getInverse()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> const <a class="el" href="classPxMat33.html">PxMat33</a> PxMat33::getInverse </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the real inverse. </p>

<p class="reference">References <a class="el" href="classPxMat33.html#a89d12d4e50ffc5ef8e480bdd3dadb78a">column0</a>, <a class="el" href="classPxMat33.html#a62f190479e12e7b9ec5cf831b23c95e9">column1</a>, <a class="el" href="classPxMat33.html#a9af2a3d4f9cca979c3e46a6406de6957">column2</a>, <a class="el" href="group__foundation.html#gga70160ca5bbafef277790b3e0f12baf38a95e14c69af8048aedd218cd6e96ad50f">PxIdentity</a>, <a class="el" href="classPxVec3.html#a391194bca8291161c06254f4ac2b6ada">PxVec3::x</a>, <a class="el" href="classPxVec3.html#a29958700f50da2204edc519b47706a05">PxVec3::y</a>, and <a class="el" href="classPxVec3.html#a50d67b162b99b904c3f362ad0415dbca">PxVec3::z</a>.</p>

</div>
</div>
<a id="a03af319e25574c59fb66ceb675bb6b56"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a03af319e25574c59fb66ceb675bb6b56">&#9670;&nbsp;</a></span>getTranspose()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#ga6a774eed3cad34b0f636332a3d28c6bb">PX_FORCE_INLINE</a> const <a class="el" href="classPxMat33.html">PxMat33</a> PxMat33::getTranspose </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get transposed matrix. </p>

<p class="reference">Referenced by <a class="el" href="classPxMassProperties.html#a4d63a246cd8a59f8709126a4b4528fb6">PxMassProperties::rotateInertia()</a>, <a class="el" href="classPxMeshScale.html#a48e9448ac3a1b20f16b23d226286930b">PxMeshScale::toMat33()</a>, and <a class="el" href="classPxMassProperties.html#acf94746d2a0e2e989bad06d97c6c387b">PxMassProperties::translateInertia()</a>.</p>

</div>
</div>
<a id="aafa4b544d2deda8528fbe0c58598ce57"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aafa4b544d2deda8528fbe0c58598ce57">&#9670;&nbsp;</a></span>operator()() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#ga6a774eed3cad34b0f636332a3d28c6bb">PX_FORCE_INLINE</a> float PxMat33::operator() </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>row</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>col</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Element access, mathematical way! </p>

</div>
</div>
<a id="ae46d777d10932b21600bd7bcc46fe52d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae46d777d10932b21600bd7bcc46fe52d">&#9670;&nbsp;</a></span>operator()() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#ga6a774eed3cad34b0f636332a3d28c6bb">PX_FORCE_INLINE</a> float&amp; PxMat33::operator() </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>row</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>col</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Element access, mathematical way! </p>

</div>
</div>
<a id="a29c09eed39be9a28bf777176a787fe8c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a29c09eed39be9a28bf777176a787fe8c">&#9670;&nbsp;</a></span>operator*() <span class="overload">[1/3]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> const <a class="el" href="classPxMat33.html">PxMat33</a> PxMat33::operator* </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>scalar</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Scalar multiplication. </p>

</div>
</div>
<a id="ae97b153beee740e225e68f22421f0de2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae97b153beee740e225e68f22421f0de2">&#9670;&nbsp;</a></span>operator*() <span class="overload">[2/3]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> const <a class="el" href="classPxVec3.html">PxVec3</a> PxMat33::operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classPxVec3.html">PxVec3</a> &amp;&#160;</td>
          <td class="paramname"><em>vec</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Matrix vector multiplication (returns 'this-&gt;transform(vec)') </p>

</div>
</div>
<a id="ae8877f2bc3ecb769a4d46bf4d2188ad2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae8877f2bc3ecb769a4d46bf4d2188ad2">&#9670;&nbsp;</a></span>operator*() <span class="overload">[3/3]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#ga6a774eed3cad34b0f636332a3d28c6bb">PX_FORCE_INLINE</a> const <a class="el" href="classPxMat33.html">PxMat33</a> PxMat33::operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classPxMat33.html">PxMat33</a> &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Matrix multiplication. </p>

<p class="reference">References <a class="el" href="classPxMat33.html#a89d12d4e50ffc5ef8e480bdd3dadb78a">column0</a>, <a class="el" href="classPxMat33.html#a62f190479e12e7b9ec5cf831b23c95e9">column1</a>, and <a class="el" href="classPxMat33.html#a9af2a3d4f9cca979c3e46a6406de6957">column2</a>.</p>

</div>
</div>
<a id="ad1e0061d404caf3c1da715b17fca97e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad1e0061d404caf3c1da715b17fca97e4">&#9670;&nbsp;</a></span>operator*=() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> <a class="el" href="classPxMat33.html">PxMat33</a>&amp; PxMat33::operator*= </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>scalar</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Equals scalar multiplication. </p>

</div>
</div>
<a id="a6366803e747d534cf0c920658d86ff94"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6366803e747d534cf0c920658d86ff94">&#9670;&nbsp;</a></span>operator*=() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> <a class="el" href="classPxMat33.html">PxMat33</a>&amp; PxMat33::operator*= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classPxMat33.html">PxMat33</a> &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Equals matrix multiplication. </p>

</div>
</div>
<a id="a371d52572ecf2270d68ba99855df91d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a371d52572ecf2270d68ba99855df91d3">&#9670;&nbsp;</a></span>operator+()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> const <a class="el" href="classPxMat33.html">PxMat33</a> PxMat33::operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classPxMat33.html">PxMat33</a> &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Add. </p>

<p class="reference">References <a class="el" href="classPxMat33.html#a89d12d4e50ffc5ef8e480bdd3dadb78a">column0</a>, <a class="el" href="classPxMat33.html#a62f190479e12e7b9ec5cf831b23c95e9">column1</a>, and <a class="el" href="classPxMat33.html#a9af2a3d4f9cca979c3e46a6406de6957">column2</a>.</p>

</div>
</div>
<a id="a89aba25369f97b0e27eb759e74e7d02e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a89aba25369f97b0e27eb759e74e7d02e">&#9670;&nbsp;</a></span>operator+=()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> <a class="el" href="classPxMat33.html">PxMat33</a>&amp; PxMat33::operator+= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classPxMat33.html">PxMat33</a> &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Equals-add. </p>

<p class="reference">References <a class="el" href="classPxMat33.html#a89d12d4e50ffc5ef8e480bdd3dadb78a">column0</a>, <a class="el" href="classPxMat33.html#a62f190479e12e7b9ec5cf831b23c95e9">column1</a>, and <a class="el" href="classPxMat33.html#a9af2a3d4f9cca979c3e46a6406de6957">column2</a>.</p>

</div>
</div>
<a id="a87b1ad9c4c720bc32ef0a38a80d7ec99"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a87b1ad9c4c720bc32ef0a38a80d7ec99">&#9670;&nbsp;</a></span>operator-() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> const <a class="el" href="classPxMat33.html">PxMat33</a> PxMat33::operator- </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Unary minus. </p>

</div>
</div>
<a id="ac96136483b5132db60802185229ba896"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac96136483b5132db60802185229ba896">&#9670;&nbsp;</a></span>operator-() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> const <a class="el" href="classPxMat33.html">PxMat33</a> PxMat33::operator- </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classPxMat33.html">PxMat33</a> &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Subtract. </p>

<p class="reference">References <a class="el" href="classPxMat33.html#a89d12d4e50ffc5ef8e480bdd3dadb78a">column0</a>, <a class="el" href="classPxMat33.html#a62f190479e12e7b9ec5cf831b23c95e9">column1</a>, and <a class="el" href="classPxMat33.html#a9af2a3d4f9cca979c3e46a6406de6957">column2</a>.</p>

</div>
</div>
<a id="aac22851412f41cb0e3522eb3d18cc5ee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aac22851412f41cb0e3522eb3d18cc5ee">&#9670;&nbsp;</a></span>operator-=()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> <a class="el" href="classPxMat33.html">PxMat33</a>&amp; PxMat33::operator-= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classPxMat33.html">PxMat33</a> &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Equals-sub. </p>

<p class="reference">References <a class="el" href="classPxMat33.html#a89d12d4e50ffc5ef8e480bdd3dadb78a">column0</a>, <a class="el" href="classPxMat33.html#a62f190479e12e7b9ec5cf831b23c95e9">column1</a>, and <a class="el" href="classPxMat33.html#a9af2a3d4f9cca979c3e46a6406de6957">column2</a>.</p>

</div>
</div>
<a id="adcd8ef696b2539be02bc61bcd61dcbc4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adcd8ef696b2539be02bc61bcd61dcbc4">&#9670;&nbsp;</a></span>operator=()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#ga6a774eed3cad34b0f636332a3d28c6bb">PX_FORCE_INLINE</a> <a class="el" href="classPxMat33.html">PxMat33</a>&amp; PxMat33::operator= </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classPxMat33.html">PxMat33</a> &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Assignment operator. </p>

<p class="reference">References <a class="el" href="classPxMat33.html#a89d12d4e50ffc5ef8e480bdd3dadb78a">column0</a>, <a class="el" href="classPxMat33.html#a62f190479e12e7b9ec5cf831b23c95e9">column1</a>, and <a class="el" href="classPxMat33.html#a9af2a3d4f9cca979c3e46a6406de6957">column2</a>.</p>

</div>
</div>
<a id="ad47c6285fd4def5a37357860da24a527"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad47c6285fd4def5a37357860da24a527">&#9670;&nbsp;</a></span>operator==()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> bool PxMat33::operator== </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classPxMat33.html">PxMat33</a> &amp;&#160;</td>
          <td class="paramname"><em>m</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>returns true if the two matrices are exactly equal </p>

<p class="reference">References <a class="el" href="classPxMat33.html#a89d12d4e50ffc5ef8e480bdd3dadb78a">column0</a>, <a class="el" href="classPxMat33.html#a62f190479e12e7b9ec5cf831b23c95e9">column1</a>, and <a class="el" href="classPxMat33.html#a9af2a3d4f9cca979c3e46a6406de6957">column2</a>.</p>

</div>
</div>
<a id="a6cd77ef783962a8ea75ad737b97f1e03"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6cd77ef783962a8ea75ad737b97f1e03">&#9670;&nbsp;</a></span>operator[]() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#ga6a774eed3cad34b0f636332a3d28c6bb">PX_FORCE_INLINE</a> <a class="el" href="classPxVec3.html">PxVec3</a>&amp; PxMat33::operator[] </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>num</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ad84d95b55ee2f62c27058e44c4b074f5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad84d95b55ee2f62c27058e44c4b074f5">&#9670;&nbsp;</a></span>operator[]() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#ga6a774eed3cad34b0f636332a3d28c6bb">PX_FORCE_INLINE</a> const <a class="el" href="classPxVec3.html">PxVec3</a>&amp; PxMat33::operator[] </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>num</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ae23ed8a7db210c4dea52a3c3e6dab54c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae23ed8a7db210c4dea52a3c3e6dab54c">&#9670;&nbsp;</a></span>transform()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#ga6a774eed3cad34b0f636332a3d28c6bb">PX_FORCE_INLINE</a> const <a class="el" href="classPxVec3.html">PxVec3</a> PxMat33::transform </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classPxVec3.html">PxVec3</a> &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Transform vector by matrix, equal to v' = M*v. </p>

<p class="reference">References <a class="el" href="classPxVec3.html#a391194bca8291161c06254f4ac2b6ada">PxVec3::x</a>, <a class="el" href="classPxVec3.html#a29958700f50da2204edc519b47706a05">PxVec3::y</a>, and <a class="el" href="classPxVec3.html#a50d67b162b99b904c3f362ad0415dbca">PxVec3::z</a>.</p>

</div>
</div>
<a id="a4810e659e09fd19492255cd682c47b41"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4810e659e09fd19492255cd682c47b41">&#9670;&nbsp;</a></span>transformTranspose()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#ga6e444d58dbf1459261fadc9b79594f63">PX_CUDA_CALLABLE</a> <a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> const <a class="el" href="classPxVec3.html">PxVec3</a> PxMat33::transformTranspose </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classPxVec3.html">PxVec3</a> &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Transform vector by matrix transpose, v' = M^t*v. </p>

</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a id="ae7cb54ab21d0e3d0dc2974560a77e27a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae7cb54ab21d0e3d0dc2974560a77e27a">&#9670;&nbsp;</a></span>operator*</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classPxMat33.html">PxMat33</a> operator* </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classPxMat33.html">PxMat33</a> &amp;&#160;</td>
          <td class="paramname">&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a89d12d4e50ffc5ef8e480bdd3dadb78a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a89d12d4e50ffc5ef8e480bdd3dadb78a">&#9670;&nbsp;</a></span>column0</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classPxVec3.html">PxVec3</a> PxMat33::column0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="reference">Referenced by <a class="el" href="group__foundation.html#ga3c2a546bd10918cd8cf26d27200081f1">PxBounds3::basisExtent()</a>, <a class="el" href="classPxMat33.html#addd74be09c04dbb9aa61c06d1375095c">getInverse()</a>, <a class="el" href="classPxMassProperties.html#a53afd0d4b906ee9d96b23ea0bb41287b">PxMassProperties::getMassSpaceInertia()</a>, <a class="el" href="classPxMat33.html#ae8877f2bc3ecb769a4d46bf4d2188ad2">operator*()</a>, <a class="el" href="classPxMat33.html#a371d52572ecf2270d68ba99855df91d3">operator+()</a>, <a class="el" href="classPxMat33.html#a89aba25369f97b0e27eb759e74e7d02e">operator+=()</a>, <a class="el" href="classPxMat33.html#ac96136483b5132db60802185229ba896">operator-()</a>, <a class="el" href="classPxMat33.html#aac22851412f41cb0e3522eb3d18cc5ee">operator-=()</a>, <a class="el" href="classPxMat33.html#adcd8ef696b2539be02bc61bcd61dcbc4">operator=()</a>, <a class="el" href="classPxMat33.html#ad47c6285fd4def5a37357860da24a527">operator==()</a>, <a class="el" href="group__foundation.html#gaf4ea3337baa14716f97e5cae7f6047c2">PxQuat::PxQuat()</a>, <a class="el" href="classPxMassProperties.html#a4d63a246cd8a59f8709126a4b4528fb6">PxMassProperties::rotateInertia()</a>, <a class="el" href="classPxMassProperties.html#a4ba3bf338320c9f0bf558b5d3a9046bd">PxMassProperties::scaleInertia()</a>, <a class="el" href="classPxMassProperties.html#a63e7875cb60efa35150002e56fcfa43f">PxMassProperties::sum()</a>, <a class="el" href="classPxMeshScale.html#a48e9448ac3a1b20f16b23d226286930b">PxMeshScale::toMat33()</a>, and <a class="el" href="classPxMassProperties.html#acf94746d2a0e2e989bad06d97c6c387b">PxMassProperties::translateInertia()</a>.</p>

</div>
</div>
<a id="a62f190479e12e7b9ec5cf831b23c95e9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a62f190479e12e7b9ec5cf831b23c95e9">&#9670;&nbsp;</a></span>column1</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classPxVec3.html">PxVec3</a> PxMat33::column1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="reference">Referenced by <a class="el" href="group__foundation.html#ga3c2a546bd10918cd8cf26d27200081f1">PxBounds3::basisExtent()</a>, <a class="el" href="classPxMat33.html#addd74be09c04dbb9aa61c06d1375095c">getInverse()</a>, <a class="el" href="classPxMassProperties.html#a53afd0d4b906ee9d96b23ea0bb41287b">PxMassProperties::getMassSpaceInertia()</a>, <a class="el" href="classPxMat33.html#ae8877f2bc3ecb769a4d46bf4d2188ad2">operator*()</a>, <a class="el" href="classPxMat33.html#a371d52572ecf2270d68ba99855df91d3">operator+()</a>, <a class="el" href="classPxMat33.html#a89aba25369f97b0e27eb759e74e7d02e">operator+=()</a>, <a class="el" href="classPxMat33.html#ac96136483b5132db60802185229ba896">operator-()</a>, <a class="el" href="classPxMat33.html#aac22851412f41cb0e3522eb3d18cc5ee">operator-=()</a>, <a class="el" href="classPxMat33.html#adcd8ef696b2539be02bc61bcd61dcbc4">operator=()</a>, <a class="el" href="classPxMat33.html#ad47c6285fd4def5a37357860da24a527">operator==()</a>, <a class="el" href="group__foundation.html#gaf4ea3337baa14716f97e5cae7f6047c2">PxQuat::PxQuat()</a>, <a class="el" href="classPxMassProperties.html#a4d63a246cd8a59f8709126a4b4528fb6">PxMassProperties::rotateInertia()</a>, <a class="el" href="classPxMassProperties.html#a4ba3bf338320c9f0bf558b5d3a9046bd">PxMassProperties::scaleInertia()</a>, <a class="el" href="classPxMassProperties.html#a63e7875cb60efa35150002e56fcfa43f">PxMassProperties::sum()</a>, <a class="el" href="classPxMeshScale.html#a48e9448ac3a1b20f16b23d226286930b">PxMeshScale::toMat33()</a>, and <a class="el" href="classPxMassProperties.html#acf94746d2a0e2e989bad06d97c6c387b">PxMassProperties::translateInertia()</a>.</p>

</div>
</div>
<a id="a9af2a3d4f9cca979c3e46a6406de6957"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9af2a3d4f9cca979c3e46a6406de6957">&#9670;&nbsp;</a></span>column2</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classPxVec3.html">PxVec3</a> PxMat33::column2</td>
        </tr>
      </table>
</div><div class="memdoc">

<p class="reference">Referenced by <a class="el" href="group__foundation.html#ga3c2a546bd10918cd8cf26d27200081f1">PxBounds3::basisExtent()</a>, <a class="el" href="classPxMat33.html#addd74be09c04dbb9aa61c06d1375095c">getInverse()</a>, <a class="el" href="classPxMassProperties.html#a53afd0d4b906ee9d96b23ea0bb41287b">PxMassProperties::getMassSpaceInertia()</a>, <a class="el" href="classPxMat33.html#ae8877f2bc3ecb769a4d46bf4d2188ad2">operator*()</a>, <a class="el" href="classPxMat33.html#a371d52572ecf2270d68ba99855df91d3">operator+()</a>, <a class="el" href="classPxMat33.html#a89aba25369f97b0e27eb759e74e7d02e">operator+=()</a>, <a class="el" href="classPxMat33.html#ac96136483b5132db60802185229ba896">operator-()</a>, <a class="el" href="classPxMat33.html#aac22851412f41cb0e3522eb3d18cc5ee">operator-=()</a>, <a class="el" href="classPxMat33.html#adcd8ef696b2539be02bc61bcd61dcbc4">operator=()</a>, <a class="el" href="classPxMat33.html#ad47c6285fd4def5a37357860da24a527">operator==()</a>, <a class="el" href="group__foundation.html#gaf4ea3337baa14716f97e5cae7f6047c2">PxQuat::PxQuat()</a>, <a class="el" href="classPxMassProperties.html#a4d63a246cd8a59f8709126a4b4528fb6">PxMassProperties::rotateInertia()</a>, <a class="el" href="classPxMassProperties.html#a4ba3bf338320c9f0bf558b5d3a9046bd">PxMassProperties::scaleInertia()</a>, <a class="el" href="classPxMassProperties.html#a63e7875cb60efa35150002e56fcfa43f">PxMassProperties::sum()</a>, <a class="el" href="classPxMeshScale.html#a48e9448ac3a1b20f16b23d226286930b">PxMeshScale::toMat33()</a>, and <a class="el" href="classPxMassProperties.html#acf94746d2a0e2e989bad06d97c6c387b">PxMassProperties::translateInertia()</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="PxMat33_8h_source.html">PxMat33.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.14-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="classPxMat33.html">PxMat33</a></li>
    <li class="footer">Copyright &copy; 2008-2021 NVIDIA Corporation, 2788 San Tomas Expressway, Santa Clara, CA 95051 U.S.A. All rights reserved. <a href="http://www.nvidia.com ">www.nvidia.com</a></li>
  </ul>
</div>
</body>
</html>
